Systems in today's networked world are highly distributed and interdependent. This means that a single root failure (such as a particular component on a computing device) can result in many real and perceived failures across a network. Complicating this even more is the notion that at any given time, there can be many real problems active in a system, as well as many unknown component states stemming from visibility issues.